home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / PROGRAM / SCLIB.ARJ / SCL1.H < prev    next >
Text File  |  1992-01-01  |  34KB  |  1,284 lines

  1. /*******************************************************************************
  2. *          SCL1.H - definitions/declarations for SCL1 Library version 3.1      *
  3. *                                                                              *
  4. *     Copyright (C) 1989-1991 by José Rodríguez Alvira & José R. Lebrón        *
  5. *******************************************************************************/
  6.  
  7. /* STRUCTURES */
  8.  
  9. /* Menu structures */
  10.  
  11. struct MenuOpt{
  12.     int Row,Col;
  13.     char *String;
  14.     int Letter;
  15.     };
  16.  
  17. struct PopMenuData{
  18.     int L1,C1,L2,C2;
  19.     int NumberOption;
  20.     char *WinBuffer;
  21.     struct MenuOpt *Menust;
  22.     };
  23.  
  24. /* Mouse Button */
  25.  
  26. struct MouseButton{
  27.     int Top,Left,Bottom,Right;
  28.     int Row,Col;
  29.     char String[20];
  30.     };
  31.  
  32. /* ItemList structure */
  33.  
  34. struct ItemList{
  35.     int Row,Col;
  36.     char *String;
  37.     };
  38.  
  39. /* Input Fields structure */
  40.  
  41. struct InputFields{
  42.     int PromptLine;
  43.     int PromptCol;
  44.     char *Prompt;
  45.  
  46.     int FieldLine;
  47.     int FieldCol;
  48.     char *FieldBuffer;
  49.  
  50.     int MaxChar;
  51.     unsigned int CharType;
  52.     int (* cdecl Helpf)(struct InputFields *);
  53.     int (* cdecl Checkf)(struct InputFields *);
  54.     };
  55.  
  56. /* Error Box */
  57.  
  58. struct ErrorMess{
  59.     int ErrorNum;
  60.     char *Message;
  61.     };
  62.  
  63. /* Tag List structure */
  64.  
  65. struct TagList{
  66.     char TagFl;
  67.     char *String;
  68.     };
  69.  
  70. /* Date structure */
  71.  
  72. struct DateData{
  73.     int WeekDay;
  74.     int MonthDay;
  75.     int Month;
  76.     int Year;
  77.     };
  78.  
  79. /* VideoData structure */
  80.  
  81. struct VideoData{
  82.     int Monitor;
  83.     int Mode;
  84.     int Page;
  85.     int Lines;
  86.     int Cols;
  87.     unsigned int Segment;
  88.     int Retrace;
  89.     };
  90.  
  91. struct FILETIME{
  92.     unsigned int seconds:5;
  93.     unsigned int minutes:6;
  94.     unsigned int hours:5;
  95.     };
  96.  
  97. struct FILEDATE{
  98.     unsigned int day:5;
  99.     unsigned int month:4;
  100.     unsigned int year:7;
  101.     };
  102.  
  103. struct FileData{
  104.     char reserved[21];
  105.     char attrib;
  106.     struct FILETIME time;
  107.     struct FILEDATE date;
  108.     long size;
  109.     char name[13];
  110.     };
  111.  
  112. /*  Dialog functions - structures and messages
  113.  
  114.     LineEditor
  115.     messages received by LineEditor */
  116.  
  117. #define LE_INIT            0
  118. #define LE_DRAW            1
  119. #define LE_UPDATE_FIELD    2
  120. #define LE_ACTIVE          3
  121. #define LE_KEY             4
  122. #define LE_DATA            5
  123. #define LE_POSITION_BEGIN  6
  124. #define LE_POSITION_END    7
  125. #define LE_POSITION_UP     8
  126. #define LE_POSITION_DOWN   9
  127. #define LE_SET_POSITION    10
  128. #define LE_CHARS_UP        11
  129. #define LE_CHARS_DOWN      12
  130. #define LE_CLEAR           14
  131. #define LE_CHECK_MOUSE     15
  132. #define LE_RESET           100
  133.  
  134. /* messages returned by LineEditor */
  135.  
  136. #define LE_OK               0
  137. #define LE_EXIT_KEY         1
  138. #define LE_MOUSE_EVENT      2
  139. #define LE_BUFFER_END       3
  140. #define LE_BUFFER_BEGIN     4
  141. #define LE_ILLEGAL_KEY      5
  142. #define LE_BUFFER_FULL      6
  143. #define LE_ILLEGAL_POSITION 7
  144. #define LE_NEW_POSITION     8
  145. #define LE_MY_MOUSE         15
  146. #define LE_DEL_NULL         18
  147.  
  148. /* LineEditor structure */
  149.  
  150. typedef struct{
  151.     int PColor;             /* Prompt's color */
  152.     int PRow;               /* Prompt's position */
  153.     int PCol;
  154.     char *Prompt;
  155.     int FColor;             /* Field color */
  156.     int FRow;               /* Field position and screen lenght */
  157.     int FCol;
  158.     unsigned int FLength;   /* length in columns */
  159.     unsigned int FSize;     /* Maximum number of chars */
  160.     int CType;              /* type of characters accepted */
  161.     int MaskFn;             /* 0 accept chars in mask, 1 discard chars in mask */
  162.     char *MaskArray;        /* array of mask chars */
  163.     char *Buffer;           /* destination buffer */
  164.     char *FormatC;          /* chars used in format string */
  165.     unsigned int *ExitKeys; /* array of exit keys scan/ascii code */
  166.     int InsFlag;            /* 1 = Insert ON ,0 =typeover */
  167.     int InsertCur;          /* Insert Mode cursor 0 = none, 1 normal, 2 big */
  168.     int TypeOverCur;        /* typeover mode cursor */
  169.     int CPaint;             /* Conditional paint color */
  170.     unsigned int StartPos;  /* Start and end pos for conditional paint */
  171.     unsigned int EndPos;
  172.     unsigned int EventInfo; /* return information */
  173.     unsigned int Position;  /* current position into buffer (offset) */
  174.     unsigned int Scroll;    /* horizontal scroll counter 0=none */
  175.     int Edited;             /* =1 if line was edited */
  176.     }LEData;
  177.  
  178. /*  TextWindow
  179.     messages received by TextWindow */
  180.  
  181. #define TW_INIT         0
  182. #define TW_DRAW         1
  183. #define TW_WRITE        2
  184. #define TW_CLS          3
  185. #define TW_LINE_DOWN    4
  186. #define TW_DRAW_BORDER  5
  187. #define TW_WAIT_ON      30
  188. #define TW_WAIT_OFF     31
  189. #define TW_RESET        100
  190.  
  191. /* messages returned by TextWindow */
  192.  
  193. #define TW_OK           0
  194. #define TW_WINDOW_FULL  1
  195.  
  196. /* TextWindow structure */
  197.  
  198. typedef struct{
  199.     int Color;
  200.     int UpperRow;
  201.     int LeftCol;
  202.     int LowerRow;
  203.     int RightCol;
  204.     int FrameType;
  205.     int WrapFlag;
  206.     int Position;
  207.     }TWData;
  208.  
  209. /*  ScrollWindow
  210.     Messages received by ScrollWindow */
  211.  
  212. #define SW_INIT             0
  213. #define SW_DRAW             1
  214. #define SW_WRITE            2
  215. #define SW_ACTIVE           3
  216. #define SW_DRAW_BORDER      5
  217. #define SW_POSITION_BEGIN   6
  218. #define SW_POSITION_END     7
  219. #define SW_POSITION_UP      8
  220. #define SW_POSITION_DOWN    9
  221. #define SW_SET_POSITION     10
  222. #define SW_CLS              11
  223. #define SW_CHECK_MOUSE      15
  224. #define SW_UWRITE           16
  225. #define SW_RESET            100
  226. #define SW_PAGE_UP          101
  227. #define SW_PAGE_DOWN        102
  228. #define SW_MBAR_CHARS       104
  229.  
  230. /* Messages returned by ScrollWindow */
  231.  
  232. #define SW_NULL_ARRAY       -2
  233. #define SW_OK                0
  234. #define SW_EXIT_KEY          1
  235. #define SW_MOUSE_EVENT       2
  236. #define SW_BUFFER_END        3
  237. #define SW_BUFFER_BEGIN      4
  238. #define SW_ILLEGAL_KEY       5
  239. #define SW_ILLEGAL_POSITION  7
  240. #define SW_NEW_POSITION      8
  241. #define SW_MOUSE_SELECT      9
  242. #define SW_MY_MOUSE         15
  243. #define SW_NEW_MOUSEPOS     16
  244. #define SW_BLOCK_MARK       17
  245.  
  246. #define SW_MBAR_DEF         176
  247. #define SW_THUMB_DEF        219
  248.  
  249. /* ScrollWindow structure */
  250.  
  251. typedef struct{
  252.     int NColor;
  253.     int RColor;
  254.     int UpperRow;
  255.     int LeftCol;
  256.     int LowerRow;
  257.     int RightCol;
  258.     int FrameType;
  259.     int ScrollBar;
  260.     int BarColor;
  261.     char **Array;
  262.     char *TagArray;
  263.     int TagColor;
  264.     char *Title;
  265.     int TitleColor;
  266.     unsigned int *ExitKeys;
  267.     unsigned int Lines;
  268.     unsigned int Length;
  269.     unsigned int TopLine;
  270.     unsigned int Position;
  271.     unsigned int FirstCol;
  272.     int OldVBlock;
  273.     int OldHBlock;
  274.     int WindowLines;
  275.     int WindowCols;
  276.     int VScroll;
  277.     int HScroll;
  278.     unsigned int EventInfo;
  279.     }SWData;
  280.  
  281. /*  MouseButton
  282.     Message received by MouseButton */
  283.  
  284. #define MB_INIT             0
  285. #define MB_DRAW             1
  286. #define MB_ACTIVE           3
  287. #define MB_CHECK_MOUSE      15
  288. #define MB_RESET            100
  289.  
  290. /* Message returned by MouseButton */
  291.  
  292. #define MB_OK               0
  293. #define MB_EXIT_KEY         1
  294. #define MB_MOUSE_EVENT      2
  295. #define MB_ILLEGAL_KEY      5
  296. #define MB_MOUSE_SELECT     9
  297. #define MB_MY_MOUSE         15
  298.  
  299.  
  300. /* MouseButton structure */
  301.  
  302. typedef struct{
  303.     int NColor;
  304.     int RColor;
  305.     int UpperRow;
  306.     int LeftCol;
  307.     int LowerRow;
  308.     int RightCol;
  309.     int PRow;
  310.     int PCol;
  311.     char *Prompt;
  312.     int BoxFlag;
  313.     int ActiveFlag;
  314.     unsigned int *ExitKeys;
  315.     unsigned int EventInfo;
  316.     }MBData;
  317.  
  318. /*  TagItem
  319.     messages received by TagItem */
  320.  
  321. #define TI_INIT            0
  322. #define TI_DRAW            1
  323. #define TI_ACTIVE          3
  324. #define TI_CHECK_MOUSE     15
  325. #define TI_RESET           100
  326.  
  327. /* messages returned by TagItem */
  328.  
  329. #define TI_OK               0
  330. #define TI_EXIT_KEY         1
  331. #define TI_MOUSE_EVENT      2
  332. #define TI_ILLEGAL_KEY      5
  333. #define TI_NEW_POSITION     8
  334. #define TI_MY_MOUSE         15
  335.  
  336. /* TagItem structure */
  337.  
  338. typedef struct{
  339.     int Color;
  340.     int Row;
  341.     int Col;
  342.     int TagFl;
  343.     char *String;
  344.     unsigned int *ExitKeys;
  345.     unsigned int EventInfo;
  346.     }TIData;
  347.  
  348. /*  Select
  349.     messages received by Select */
  350.  
  351. #define S_INIT            0
  352. #define S_DRAW            1
  353. #define S_ACTIVE          3
  354. #define S_CHECK_MOUSE     15
  355. #define S_RESET           100
  356.  
  357. /* messages returned by Select */
  358.  
  359. #define S_NULL_ARRAY      -2
  360. #define S_OK               0
  361. #define S_EXIT_KEY         1
  362. #define S_MOUSE_EVENT      2
  363. #define S_ILLEGAL_KEY      5
  364. #define S_NEW_POSITION     8
  365. #define S_MY_MOUSE         15
  366.  
  367. /* Select structures */
  368.  
  369. typedef struct{
  370.     int Row;
  371.     int Col;
  372.     char *String;
  373.     }SData1;
  374.  
  375. typedef struct{
  376.     int Color;
  377.     int PRow;
  378.     int PCol;
  379.     char *Prompt;
  380.     unsigned int *ExitKeys;
  381.     int Options;
  382.     int Position;
  383.     unsigned int EventInfo;
  384.     }SData2;
  385.  
  386. /* Fields2 */
  387.  
  388. typedef struct{
  389.     int FieldType;
  390.     void *Structure1;
  391.     void *Structure2;
  392.     int (* cdecl CheckF)();
  393.     }FData1;
  394.  
  395. typedef struct{
  396.     int Message;
  397.     unsigned int EventInfo;
  398.     FData1 *Structure;
  399.     int ActiveField;
  400.     int FieldsNumber;
  401.     }FData2;
  402.  
  403. typedef struct{
  404.     int EventInfo;
  405.     int (* cdecl UserField)();
  406.     }FData3;
  407.  
  408.  
  409. /* Field types */
  410.  
  411. #define LINE_EDITOR     1
  412. #define SCROLL_WINDOW   2
  413. #define MOUSE_BUTTON    3
  414. #define TAG_ITEM        4
  415. #define SELECT          5
  416. #define LIST_WINDOW     6
  417. #define CALENDAR        7
  418. #define USER_DEFINED    100
  419.  
  420. /* messages received */
  421.  
  422. #define F_INIT            0
  423. #define F_DRAW            1
  424. #define F_ACTIVE          3
  425. #define F_MOUSE_EVENT     2
  426. #define F_POSITION_STAY   5
  427. #define F_POSITION_UP     8
  428. #define F_POSITION_DOWN   9
  429. #define F_SET_POSITION    10
  430. #define F_EXIT            13
  431. #define F_SET_POS_EXIT    16
  432. #define F_DRAW_NR         19
  433. #define F_CHECK_ALL       20
  434. #define F_COLORS          21
  435. #define F_RESET           100
  436. #define F_ALLOC           101
  437. #define F_FREE            102
  438.  
  439. /* FieldCheck messages */
  440.  
  441. #define F_OK                0
  442. #define F_START           103
  443. #define F_FIELDSTART      104
  444. #define F_NOMEM           106
  445.  
  446. /*  TagList2
  447.     TagList2 messages received */
  448.  
  449. #define TL_INIT             0
  450. #define TL_DRAW             1
  451. #define TL_ACTIVE           2
  452. #define TL_RESET            100
  453.  
  454. /* TagList2 messages returned */
  455.  
  456. #define TL_OK               0
  457. #define TL_CANCEL           -1
  458.  
  459. /* TagList2 structure */
  460.  
  461. typedef struct{
  462.     int NColor;
  463.     int RColor;
  464.     int TColor;
  465.     int UpperRow;
  466.     int LeftCol;
  467.     int LowerRow;
  468.     int RightCol;
  469.     char **Array;
  470.     char *TagArray;
  471.     }TLData;
  472.  
  473. /*  FileBox2
  474.     FileBox2 messages received */
  475.  
  476. #define FB_INIT             0
  477. #define FB_DRAW             1
  478. #define FB_ACTIVE           2
  479. #define FB_RESET            100
  480.  
  481. /* FileBox2 messages returned */
  482.  
  483. #define FB_OK                0
  484. #define FB_CANCEL           -1
  485.  
  486. /* FileBox2 structure */
  487.  
  488. typedef struct{
  489.     int NColor;
  490.     int RColor;
  491.     int UpperRow;
  492.     int LeftCol;
  493.     int LowerRow;
  494.     int RightCol;
  495.     char *Filename;
  496.     int Attrib;
  497.     }FBData;
  498.  
  499. /* FileBox3 structure */
  500.  
  501. typedef struct{
  502.     int NColor;
  503.     int RColor;
  504.     int UpperRow;
  505.     int LeftCol;
  506.     int LowerRow;
  507.     int RightCol;
  508.     char *Filename;
  509.     int Attrib;
  510.     unsigned int Display;
  511.     unsigned int SortType;
  512.     int FileNumber;
  513.     int DirNumber;
  514.     }FB3Data;
  515.  
  516.     /* FileBox3 constants */
  517.  
  518. #define FB_NAME          1
  519. #define FB_EXT           2
  520. #define FB_SIZE          4
  521. #define FB_DATE          8
  522. #define FB_TIME         16
  523. #define FB_ATTRIB       32
  524. #define FB_REVERSE      64
  525. #define FB_DIR_FIRST   128
  526. #define FB_DMY         256
  527. #define FB_YMD         512
  528.  
  529. #define FB_ILLEGAL_OP   -2
  530. #define FB_NO_MEM       -3
  531.  
  532.     /* Dissolve constants */
  533.  
  534. #define DS_BOX          0
  535. #define DS_SIDES        1
  536. #define DS_SIX_PARTS    2
  537. #define DS_FOUR_BOXES   3
  538.  
  539.     /* Macro messages */
  540.  
  541. #define MACRO_START         0
  542. #define MACRO_STOP          1
  543. #define MACRO_REPORT        2
  544. #define MACRO_NO_MACRO      3
  545.  
  546.     /* Macro struct */
  547.  
  548. typedef struct{
  549.     unsigned int key;
  550.     unsigned int size;
  551.     unsigned int *buffer;
  552.     }MACROData;
  553.  
  554.     /* PercentBar messages */
  555.  
  556. #define PB_INIT     0
  557. #define PB_DRAW     1
  558. #define PB_UPDATE   2
  559.  
  560.     /* PercentBar struct */
  561.  
  562. typedef struct{
  563.     int Color;
  564.     int Row;
  565.     int Col;
  566.     int Size;
  567.     unsigned int Total;
  568.     int ForeChar;
  569.     int BackChar;
  570.     }PBData;
  571.  
  572.  
  573. /*  MenuSystem
  574.     MenuSystem messages received */
  575.  
  576. #define MS_INIT               0
  577. #define MS_DRAW               1
  578. #define MS_CHECK              3
  579. #define MS_KEY                4
  580. #define MS_SHADOW_ON         20
  581. #define MS_SHADOW_OFF        21
  582. #define MS_LINE_ON           22
  583. #define MS_LINE_OFF          23
  584. #define MS_SET_FRAME_TYPE    24
  585. #define MS_SET_BAR_ROW       25
  586. #define MS_SET_BAR_START     26
  587. #define MS_SET_BAR_END       27
  588. #define MS_ALT_ON            29
  589. #define MS_ALT_OFF           30
  590. #define MS_SET_FRAME_COLOR   31
  591. #define MS_RESET_FRAME_COLOR 32
  592. #define MS_RESET             100
  593. #define MS_SHOW_MENU         200
  594. #define MS_HIDE_MENU         201
  595.  
  596.  
  597. /* MenuSystem messages returned */
  598.  
  599. #define MS_NO_SELECT    0
  600. #define MS_OK           0
  601. #define MS_SELECT       1
  602. #define MS_CANCEL      -1
  603.  
  604. /* MenuSystem structures */
  605.  
  606. typedef struct{
  607.     int Row;
  608.     int Col;
  609.     char *String;
  610.     int Letter;
  611.     }MSOptions;
  612.  
  613. typedef struct{
  614.     int UpperRow;
  615.     int LeftCol;
  616.     int LowerRow;
  617.     int RightCol;
  618.     int Number;
  619.     char *WinBuffer;
  620.     MSOptions *mso;
  621.     }MSWindow;
  622.  
  623. typedef struct{
  624.     int StartCol;
  625.     int EndCol;
  626.     unsigned int Key;
  627.     char *String;
  628.     }MSBar;
  629.  
  630. typedef struct{
  631.     int BarNColor;
  632.     int BarRColor;
  633.     int MenuNColor;
  634.     int MenuRColor;
  635.     int MenuHColor;
  636.     MSBar *msb;
  637.     MSWindow *msw;
  638.     int Number;
  639.     int Menu;
  640.     int Option;
  641.     unsigned int EventInfo;
  642.     }MSData;
  643.  
  644. /* MenuSystem2 struct */
  645.  
  646. typedef struct{
  647.     int Row;
  648.     int Col;
  649.     char *String;
  650.     int Letter;
  651.     int Active;
  652.     char *Text;
  653.     }MSOptions2;
  654.  
  655. typedef struct{
  656.     int UpperRow;
  657.     int LeftCol;
  658.     int LowerRow;
  659.     int RightCol;
  660.     int Number;
  661.     char *WinBuffer;
  662.     MSOptions2 *mso;
  663.     }MSWindow2;
  664.  
  665. #define MSBar2 MSBar
  666.  
  667. typedef struct{
  668.     int BarNColor;
  669.     int BarRColor;
  670.     int MenuNColor;
  671.     int MenuRColor;
  672.     int MenuHColor;
  673.     int MenuGNColor;
  674.     int MenuGRColor;
  675.     MSBar2 *msb;
  676.     MSWindow2 *msw;
  677.     int Number;
  678.     int Menu;
  679.     int Option;
  680.     unsigned int EventInfo;
  681.     int TextColor;
  682.     int TextRow;
  683.     int TextCol;
  684.     int TextLenght;
  685.     }MSData2;
  686.  
  687.  
  688. /*  ListWindow
  689.     Messages received by ListWindow */
  690.  
  691. #define LW_INIT             0
  692. #define LW_DRAW             1
  693. #define LW_WRITE            2
  694. #define LW_ACTIVE           3
  695. #define LW_DRAW_BORDER      5
  696. #define LW_POSITION_BEGIN   6
  697. #define LW_POSITION_END     7
  698. #define LW_POSITION_UP      8
  699. #define LW_POSITION_DOWN    9
  700. #define LW_SET_POSITION     10
  701. #define LW_CLS              11
  702. #define LW_CHECK_MOUSE      15
  703. #define LW_RESET            100
  704. #define LW_MBAR_CHARS       104
  705.  
  706. /*  Messages returned by ListWindow */
  707.  
  708. #define LW_NULL_ARRAY       -2
  709. #define LW_OK                0
  710. #define LW_EXIT_KEY          1
  711. #define LW_MOUSE_EVENT       2
  712. #define LW_BUFFER_END        3
  713. #define LW_BUFFER_BEGIN      4
  714. #define LW_ILLEGAL_KEY       5
  715. #define LW_ILLEGAL_POSITION  7
  716. #define LW_NEW_POSITION      8
  717. #define LW_MOUSE_SELECT      9
  718. #define LW_MY_MOUSE         15
  719. #define LW_NEW_MOUSEPOS     16
  720. #define LW_BLOCK_MARK       17
  721.  
  722. #define LW_MBAR_DEF         176
  723. #define LW_THUMB_DEF        219
  724.  
  725. /* ListWindow structure */
  726.  
  727. typedef struct{
  728.     int NColor;
  729.     int RColor;
  730.     int UpperRow;
  731.     int LeftCol;
  732.     int LowerRow;
  733.     int RightCol;
  734.     int FrameType;
  735.     int ScrollBar;
  736.     int BarColor;
  737.     char **Array;
  738.     char *TagArray;
  739.     int TagColor;
  740.     char *Title;
  741.     int TitleColor;
  742.     unsigned int *ExitKeys;
  743.     int StaticWidth;
  744.     unsigned int Items;
  745.     unsigned int ColumnWidth;
  746.     unsigned int FirstItem;
  747.     unsigned int Position;
  748.     int WindowLines;
  749.     int WindowCols;
  750.     int TotalCols;
  751.     int TotalWindowItems;
  752.     int OldHBlock;
  753.     unsigned int EventInfo;
  754.     }LWData;
  755.  
  756. /*  Calendar
  757.     Calendar structure */
  758.  
  759. typedef struct{
  760.     int NColor;
  761.     int RColor;
  762.     int Row;
  763.     int Col;
  764.     int FrameType;
  765.     unsigned int *ExitKeys;
  766.     int Lang;
  767.     int Month;
  768.     int Day;
  769.     int Year;
  770.     unsigned int EventInfo;
  771.     }CData;
  772.  
  773. /* Messages received */
  774.  
  775. #define C_INIT            0
  776. #define C_DRAW            1
  777. #define C_ACTIVE          3
  778. #define C_CHECK_MOUSE    15
  779. #define C_SHADOW_ON      20
  780. #define C_SHADOW_OFF     21
  781. #define C_RESET         100
  782.  
  783. /* Messagges returned */
  784.  
  785. #define C_OK            0
  786. #define C_EXIT_KEY      1
  787. #define C_MOUSE_EVENT   2
  788. #define C_ILLEGAL_KEY   5
  789. #define C_NEW_POSITION  8
  790. #define C_MY_MOUSE     15
  791.  
  792. /* LinkedList messages */
  793.  
  794. #define LL_INIT               1
  795. #define LL_ADD                2
  796. #define LL_NEXT               3
  797. #define LL_PREVIOUS           4
  798. #define LL_FIRST              5
  799. #define LL_LAST               6
  800. #define LL_DELETE             7
  801. #define LL_DELETE_ALL         8
  802. #define LL_INSERT             9
  803. #define LL_SET_POSITION      10
  804. #define LL_REPLACE           11
  805. #define LL_SAVE_POSITION     12
  806. #define LL_RESTORE_POSITION  13
  807.  
  808. #define LL_MEM_ERROR          -1
  809. #define LL_OK                  0
  810. #define LL_LAST_NODE           1
  811. #define LL_FIRST_NODE          2
  812. #define LL_EMPTY_LIST          3
  813. #define LL_ILLEGAL_POSITION    4
  814.  
  815. struct LLNODEtag{
  816.     struct LLNODEtag *Next;
  817.     struct LLNODEtag *Prev;
  818.     unsigned int DataSize;
  819.     char *Data;
  820.     };
  821.  
  822. typedef struct LLNODEtag LLNODE;
  823.  
  824. typedef struct{
  825.     unsigned int DataSize;
  826.     char *Data;
  827.     unsigned int Nodes;
  828.     unsigned int ActiveNode;
  829.     LLNODE *Head;
  830.     LLNODE *Tail;
  831.     LLNODE *Position;
  832.     }LLData;
  833.  
  834. /* RecordFile messages */
  835.  
  836. #define RF_OPEN         1
  837. #define RF_CREATE       2
  838. #define RF_FIRST        3
  839. #define RF_LAST         4
  840. #define RF_NEXT         5
  841. #define RF_PREVIOUS     6
  842. #define RF_CLOSE        7
  843. #define RF_ADD          8
  844. #define RF_OPENCREATE   9
  845. #define RF_WRITE        10
  846. #define RF_SETPOS       11
  847. #define RF_READ         12
  848.  
  849. #define RF_OK           0
  850. #define RF_FILENOTFOUND 1
  851. #define RF_EOF          2
  852. #define RF_BOF          3
  853. #define RF_READERR      4
  854. #define RF_WRITEERR     5
  855. #define RF_ILLEGALOP    6
  856.  
  857. typedef struct{
  858.     char *FName;
  859.     char *Buffer;
  860.     unsigned int DataSize;
  861.     long FPos;
  862.     long FSize;
  863.     long Entries;
  864.     int FHandle;
  865.     int Error;
  866.     }RFData;
  867.  
  868. /* Create - Destroy window */
  869.  
  870. typedef struct{
  871.     int Color;
  872.     int Style;
  873.     int FrameType;
  874.     int UpperRow;
  875.     int LeftCol;
  876.     int LowerRow;
  877.     int RightCol;
  878.     int TitleColor;
  879.     char *Title;
  880.     int HorSize;
  881.     int VerSize;
  882.     int HorCenter;
  883.     int VerCenter;
  884.     char *Buffer;
  885.     }WData;
  886.  
  887. #define W_SAVE    1
  888. #define W_CLEAR   2
  889. #define W_FRAME   4
  890. #define W_GROW    8
  891. #define W_SHRINK  16
  892. #define W_SHADOW  32
  893.  
  894. #define W_LEFT      0
  895. #define W_RIGHT     1
  896. #define W_CENTER    2
  897.  
  898. #define W_NOMEM   -1
  899. #define W_OK       0
  900.  
  901. /* Functions prototypes */
  902.  
  903. void cdecl BackgroundOn(int (*FAddress)());
  904. char * cdecl AddExtension(char *Filename,char *Extension);
  905. void cdecl BackgroundOff(void);
  906. void cdecl Beep(void);
  907. void cdecl BigCursor(void);
  908. char * cdecl Bin2Ascii(long Number,char *Buffer);
  909. void cdecl Box(int Color,int FrameType,int UpperRow,int LeftCol,int LowerRow,int RightCol);
  910. int cdecl Buf2Disk(char *Filename,char *Buffer,unsigned int Bytes);
  911. int cdecl Calendar(int Message,CData *cd);
  912. int cdecl Center(char *String);
  913. void cdecl ChangeDumpColor(int OldColor,int NewColor,char *p);
  914. char * cdecl ChangeExtension(char *Filename,char *Extension);
  915. unsigned int cdecl CheckChar(unsigned int Character,unsigned int ControlCode);
  916. int cdecl CheckEnhancedKeyb(void);
  917. int cdecl CheckItemList(int Number,int ItemLength,struct ItemList *il);
  918. int cdecl CheckMouseButton(int Number,struct MouseButton *mb);
  919. int cdecl CheckMouse(void);
  920. void cdecl ClearKeyBuf(void);
  921. void cdecl ClearWindow(WData *wd);
  922. void cdecl ClockTick(void);
  923. int cdecl CloseFile(int Handle);
  924. void cdecl Cls(int Color,int UpperRow,int LeftCol,int LowerRow,int RightCol);
  925. int cdecl CreateFile(char *Filename,int *Handle,int Attrib);
  926. int cdecl CreateWindow(WData *wd);
  927. void cdecl C_SetUserLang(CData *cd,char **data);
  928. void cdecl CursorOff(void);
  929. void cdecl CursorOn(void);
  930. unsigned int cdecl Date2Num(int Month, int Day, int Year);
  931. int cdecl DaysPerMonth(int year,int month);
  932. int cdecl DeleteFile(char *Filename);
  933. void cdecl DestroyWindow(WData *wd);
  934. int cdecl DialogBox(int BoxColor,char *Prompt,int InputColor,int MaxChar,unsigned int CharType,char *Buffer);
  935. void cdecl DisableMouse(void);
  936. void cdecl Dissolve(int Color,int Type,int Speed);
  937. void cdecl DrawBoxLine(int Color,int FrameType,int Row1,int Col1,int Row2,int Col2);
  938. void cdecl DrawItemList(int NColor,int RColor,int Number,int Selection,struct ItemList *il);
  939. void cdecl DrawMouseButton(int NColor,int RColor,int Number,int Selection,struct MouseButton *mb);
  940. void cdecl DrawLine(int Color,int Row,int Col,int Count,int Direction,int Character);
  941. void cdecl EB_SetUserLang(char *prompt1,char *prompt2);
  942. void cdecl ErrorBox(int ErrNum);
  943. void cdecl ErrorShadowOff(void);
  944. void cdecl ErrorShadowOn(void);
  945. void cdecl FB_SetUserLang(char **prompt,int offset1,int offset2);
  946. void cdecl FB3_SetUserLang(char **prompt,int offset1,int offset2);
  947. int cdecl FieldCheck(FData2 *p);
  948. int cdecl Fields(int NColor,int RColor,int NFields,struct InputFields *ifld,unsigned int ExitKey,unsigned int HelpKey);
  949. FData2 * cdecl Fields2(int Message,FData1 *fd1,FData2 *fd2,...);
  950. int cdecl FileBox(int NColor,int RColor,char *Filename);
  951. int cdecl FileBox2(int Message, FBData *p);
  952. int cdecl FileBox3(int Message, FB3Data *fb3);
  953. int cdecl File2Buf(char* Filename,char* Buffer,unsigned int* MaxSize);
  954. void cdecl FillBlock(int Color,int UpperRow,int LeftCol,int LowerRow,int RightCol,int Character);
  955. int cdecl FindFirst(char *SearchString,struct FileData *Buffer,int SearchAtr);
  956. int cdecl FindNext(void);
  957. void cdecl GetCharSet(int StartCode,int TotalChars,char *Buffer);
  958. int cdecl GetCurLine(void);
  959. int cdecl GetCurCol(void);
  960. int cdecl GetCurrentDir(char *PathBuffer);
  961. int cdecl GetCurSize(void);
  962. int cdecl GetFiles(char *SearchString,int SearchAtr);
  963. struct DateData * cdecl GetDate(void);
  964. char far * cdecl GetCharSetAddress(int table);
  965. int cdecl GetDefaultDrive(void);
  966. long cdecl GetDiskFreeSpace(int Drive);
  967. unsigned int cdecl GetExtendedAscii(unsigned int Character);
  968. int cdecl GetFileMode(char *Filename,unsigned int *FMode);
  969. long cdecl GetFilePt(int Handle);
  970. long cdecl GetFileSize(int Handle);
  971. long cdecl GetFreeMem(void);
  972. unsigned int cdecl GetKey(void);
  973. int cdecl GetString(int PColor,int PRow,int PCol,char* Prompt,int FColor,int FRow,int FCol,int MaxChar,unsigned int CharType,char *Buffer);
  974. void cdecl GSSBox(int Color,int FrameType,int UpperRow,int LeftCol,int LowerRow,int RightCol,int GrowFl,int SoundFl,int ShadowFl);
  975. char * cdecl GetTime(void);
  976. void cdecl HideMouse(void);
  977. int cdecl InitDrive(int Drive);
  978. void cdecl InitUserError(struct ErrorMess* p);
  979. int cdecl InitMouse(int Cursor);
  980. void cdecl InitVideo(void);
  981. void cdecl InitWData(WData *wd,int Color,int Style,int UpperRow,int LeftCol,int LowerRow,int RightCol,int FrameType,int TitleColor,char *Title);
  982. void cdecl Int24ShadowOff(void);
  983. void cdecl Int24ShadowOn(void);
  984. void cdecl I24_SetUserLang(char *prompt1,int offset1,unsigned int key1,char *prompt2,int offset2,unsigned int key2,struct ErrorMess *em);
  985. unsigned int cdecl KeyReady(void);
  986. unsigned int cdecl KeyStatus(void);
  987. int cdecl LeapYear(int year);
  988. int cdecl LineEditor(int Message,LEData *p,...);
  989. int cdecl LinkedList(int Mess,LLData *ld,...);
  990. int cdecl ListManager(int NColor,int RColor,int Number,int Length,int Selection,int Lines,int Cols,struct ItemList *il);
  991. int cdecl ListWindow(int Message,LWData *p,...);
  992. int cdecl LW_MoveTo(LWData *lwd);
  993. int cdecl MakeDir(char *Path);
  994. int cdecl MCR_CloseFile(void);
  995. void cdecl MCR_Init(unsigned int Key,int (* userf)(int flag,MACROData *md));
  996. void cdecl MCR_MacroDisable(void);
  997. void cdecl MCR_MacroEnable(void);
  998. int cdecl MCR_MacroExist(unsigned int Key);
  999. void cdecl MCR_Play(unsigned int *macro);
  1000. int cdecl MCR_ReadFile(char *FileName);
  1001. void cdecl MCR_Record(void);
  1002. void cdecl MCR_RecordKey(unsigned int Key);
  1003. void cdecl MCR_RegisterBackF(void ( *userf)(void));
  1004. int cdecl MCR_RegisterMacro(unsigned int Key,unsigned int size,unsigned int *Buffer);
  1005. int cdecl MCR_RegisterTrapKey(unsigned int Key,void (* userf)());
  1006. void cdecl MCR_Report(void);
  1007. int cdecl MCR_SaveMacro(char *FileName,MACROData *md);
  1008. void cdecl MCR_UnRegisterBackF(void);
  1009. unsigned int * cdecl MCR_UnRegisterMacro(unsigned int Key);
  1010. void cdecl MCR_UnRegisterTrapKey(unsigned int Key);
  1011. void cdecl MESS_SetPosition(int UpperRow,int LeftCol);
  1012. int cdecl Menu(int NColor, int RColor, int HColor,int NumOpt,struct MenuOpt *mo);
  1013. int cdecl MenuSystem(int Message,MSData *msd,...);
  1014. int cdecl MenuSystem2(int Message,MSData2 *msd,...);
  1015. void cdecl MessageOn(int Color,char *String);
  1016. void cdecl MessageOff(void);
  1017. void cdecl MessageShadowOff(void);
  1018. void cdecl MessageShadowOn(void);
  1019. void cdecl ModifyCharSet(int Points,int StartCode,int TotalChars,char *Bits);
  1020. void cdecl ModifyPalette(char *Colors);
  1021. void cdecl ModifyPaletteColor(int Palette,int NewValue);
  1022. int cdecl MouseButton(int Message,MBData *p);
  1023. int cdecl MouseMenu(int NColor,int RColor,int HColor,int NumOpt,struct MenuOpt *mo,int XMin,int XMax,int YMin,int YMax);
  1024. int cdecl MouseMenu2(int NColor,int RColor,int HColor,int NumOpt,struct MenuOpt *mo,int XMin,int XMax,int YMin,int YMax,int StartSel);
  1025. int cdecl MoveFilePt(int Handle,unsigned long Bytes);
  1026. int cdecl MoveFilePt2Offset(int Handle,unsigned long Bytes);
  1027. void cdecl Num2Date(unsigned int count,int *Month, int *Day, int *Year, int *Weekday);
  1028. int cdecl OpenFile(char *Filename, int *Handle, int OMode);
  1029. void cdecl PercentBar(int Mess,PBData *pbd,...);
  1030. int cdecl PushCursor(void);
  1031. int cdecl PopCursor(void);
  1032. int cdecl PopMenu(int NColor,int RColor,int HColor,struct PopMenuData *pmd);
  1033. int cdecl ReadFile(int Handle,char *Buffer,unsigned int Bytes);
  1034. int cdecl ReadPalette(char *Colors);
  1035. int cdecl RecordFile(int Mess,RFData *rfd);
  1036. int cdecl RemoveDir(char *Path);
  1037. char * cdecl RemoveExtension(char *Filename);
  1038. int cdecl RenameFile(char *OldName,char *NewName);
  1039. void cdecl ResetMouse(void);
  1040. void cdecl ResetMouseCur(void);
  1041. void cdecl ScrollDown(int Color,int UpperRow,int LeftCol,int LowerRow,int RightCol,int Scroll);
  1042. void cdecl ScreenDump(int Row,int Column,char *StringAdr);
  1043. int cdecl ScrollList(int NColor,int RColor,int Row,int Col,int Lines,char **p);
  1044. void cdecl ScrollUp(int Color,int UpperRow,int LeftCol,int LowerRow,int RightCol,int Scroll);
  1045. int cdecl ScrollWindow(int Message,SWData *p,...);
  1046. void cdecl SetInt24Colors(int NColor,int RColor);
  1047. void cdecl SetCurPos(int Row,int Col);
  1048. void cdecl SetCurSize(int CursorSize);
  1049. void cdecl SetErrorBoxColor(int UColor);
  1050. int cdecl SetFileMode(char *Filename, unsigned int NewMode);
  1051. void cdecl SetHorLimit(int Minimum,int Maximum);
  1052. int cdecl Select(int Message,SData1 *sd1,SData2 *sd2);
  1053. void cdecl SetBin2AsciiDel(int Character);
  1054. void cdecl SetDialogColor(int NColor,int RColor,int HColor);
  1055. void cdecl SetMouseCur(int Character);
  1056. void cdecl SetMouseIsr(void);
  1057. void cdecl SetMousePos(int X,int Y);
  1058. void cdecl SetShadowColor(int Color);
  1059. void cdecl SetUserBox(int UpperLeft,int UpperRight,int LowerLeft,int LowerRight,int UpperSide,int BottomSide,int LeftSide,int RightSide);
  1060. void cdecl SetUserBoxLine(int HLeft,int HRight,int VUpper,int VLower);
  1061. void cdecl SetVerLimit(int Minimum,int Maximum);
  1062. void cdecl SetVideoMode(int NewMode);
  1063. void cdecl SetVideoPage(int NewPage);
  1064. void cdecl SetVideo25(void);
  1065. void cdecl SetVideo28(void);
  1066. void cdecl SetVideo4350(void);
  1067. void cdecl Shadow(int Color,int UpperRow,int LeftCol,int LowerRow,int RightCol);
  1068. int cdecl ShellSort(void *base,unsigned int num,unsigned int width,int (*compare)(void *elem1,void *elem2));
  1069. void cdecl ShowMouse(void);
  1070. void cdecl SortPointers(char *p[]);
  1071. void cdecl Sound(int Freq);
  1072. void cdecl SoundOff(void);
  1073. void cdecl SoundOn(void);
  1074. long cdecl StopWatch(int Function);
  1075. int cdecl SW_MoveTo(SWData *sw);
  1076. int cdecl TagItem(int Message,TIData *tg);
  1077. int cdecl TagList(int NColor,int RColor,struct TagList *tl);
  1078. int cdecl TagList2(int Message,TLData *p);
  1079. int cdecl TagMenu(int NColor,int RColor,int HColor,int NumOpt,struct MenuOpt *mo,int XMin,int XMax,int YMin,int YMax);
  1080. int cdecl TextWindow(int Message,TWData *p,...);
  1081. void cdecl TL_SetUserLang(char **prompt,int offset1,int offset2);
  1082. int cdecl TrapBIOSScreenWrite(void);
  1083. void cdecl TrapInt10(void);
  1084. void cdecl RestoreInt10(void);
  1085. void cdecl TrapInt23(void);
  1086. void cdecl TrapInt24(void);
  1087. void cdecl TSound(int Frequency,unsigned int Duration);
  1088. unsigned int cdecl Video(void);
  1089. struct VideoData * cdecl VideoConfig(void);
  1090. unsigned int cdecl WaitKeyMouse(void);
  1091. void cdecl WaitTime(unsigned int HSec);
  1092. void cdecl WF_SetUserLang(char **prompt,int offset1,int offset2);
  1093. void cdecl Window(int Color,int UpperRow,int LeftCol,int LowerRow,int RightCol,char* Flag,char* Buffer);
  1094. void cdecl WriteOffLen(int Color,int Offset,int Count,char * String);
  1095. void cdecl WriteOffset(int Color,int Offset,int Character);
  1096. void cdecl WriteScreen(int Atributte,int Row,int Column,char* StringAdr);
  1097. void cdecl WriteScreenLen(int Color,int Row,int Col,int Count,char *String);
  1098. void cdecl WriteScreenC(int Color,int Row,int Col,char *String);
  1099. void cdecl WriteScreenCLen(int Color,int Row,int Col,int Count,char *String);
  1100. void cdecl WriteScreenR(int Color,int Row,int Col,char *String);
  1101. void cdecl WriteScreenRLen(int Color,int Row,int Col,int Count,char *String);
  1102. void cdecl WriteChar(int Color,int Row,int Col,int Count,int Character);
  1103. int cdecl WriteFile(int Handle,char *Buffer,unsigned int Bytes);
  1104. void cdecl WriteWindow(WData *wd,int Row,int Col,int Count,int Justification,char *String);
  1105. int cdecl WFileBox(int Message, FBData *p);
  1106. void WF_SetUserLang(char **p,int b1,int b2);
  1107. int cdecl YesNo(int NColor,int RColor,int Selection,char *p);
  1108. void YN_SetFrame(int FrameType);
  1109. void cdecl YesNoShadowOff(void);
  1110. void cdecl YesNoShadowOn(void);
  1111. void cdecl YN_SetPosition(int UpperRow,int LeftCol);
  1112. void cdecl YN_SetUserLang(char *prompt1,int offset1,unsigned int key1,char *prompt2,int offset2,unsigned int key2);
  1113. void cdecl ZWindow(int Color,int UpperRow,int LeftCol,int LowerRow,int RightCol,int Frame, char* Buffer);
  1114.  
  1115. /* Global Variables */
  1116.  
  1117. /* TrapInt24 */
  1118.  
  1119. extern int I24_CrtErrFl;
  1120.  
  1121. /* GetCurSize */
  1122.  
  1123. extern int GCS_CursorSize;
  1124.  
  1125. /* GetExtendedAscii */
  1126.  
  1127. extern char GE_CharTable;
  1128.  
  1129. /* Mouse related */
  1130.  
  1131. extern int MSE_LPress,MSE_LRel,MSE_RPress,MSE_RRel;
  1132. extern int MSE_Move,MSE_MoveX,MSE_MoveY,MSE_LpX;
  1133. extern int MSE_LpY,MSE_LrX,MSE_LrY,MSE_RpX,MSE_RpY;
  1134. extern int MSE_RrX,MSE_RrY,MSE_MouseFl,MSE_DoubleClick;
  1135.  
  1136. /* GetFiles */
  1137.  
  1138. extern char *GF_PointerBuf[];
  1139. extern int GF_FileNumber;
  1140.  
  1141. /* GetString */
  1142.  
  1143. extern char GS_Insert;
  1144. extern char GS_Edit;
  1145. extern char GS_Beep;
  1146.  
  1147. /* Fields */
  1148.  
  1149. extern char F_Insert;
  1150. extern char F_Beep;
  1151.  
  1152. /* VideoConfig */
  1153.  
  1154. extern int VC_Monitor,VC_Mode,VC_Page;
  1155. extern int VC_Lines,VC_Cols,VC_Retrace;
  1156. extern unsigned int VC_Segment;
  1157.  
  1158. /* GetTime variables */
  1159.  
  1160. extern int GT_Hours;
  1161. extern int GT_Minutes;
  1162. extern int GT_Seconds;
  1163. extern int GT_Hundreths;
  1164.  
  1165. /* TrapInt23h */
  1166.  
  1167. extern char I23_CtrlBreakFl;
  1168.  
  1169. /* SetDialogColors */
  1170.  
  1171. extern int D_NColor,D_RColor,D_HColor;
  1172.  
  1173. /* Arguments and constants */
  1174.  
  1175. /* CheckChar */
  1176.  
  1177. #define CC_ANY         1
  1178. #define CC_LETTER      2
  1179. #define CC_DIGIT       4
  1180. #define CC_CAPITALIZE  8
  1181. #define CC_REAL        0x14
  1182. #define CC_FILESPEC    0x20
  1183. #define CC_ESPANOL     0x42
  1184. #define CC_PUNCTUATION 0x80
  1185. #define CC_PATH        0x0100
  1186. #define CC_SEARCH      0x0200
  1187. #define CC_EXPONENTIAL 0x0404
  1188.  
  1189. /* Video */
  1190.  
  1191. #define COLOR   0xb800
  1192. #define MONO    0xb000
  1193.  
  1194. /* Monitors types */
  1195.  
  1196. #define VC_MDA    1
  1197. #define VC_CGA    2
  1198. #define VC_EGA    4
  1199. #define VC_EGAM   5
  1200. #define VC_PGC    6
  1201. #define VC_VGAM   7
  1202. #define VC_VGA    8
  1203. #define VC_MCGADC 10
  1204. #define VC_MCGAAM 11
  1205. #define VC_MCGAAC 12
  1206.  
  1207.  
  1208. /* StopWatch */
  1209.  
  1210. #define SW_START 0
  1211. #define SW_STOP  1
  1212.  
  1213. /* File Attributtes */
  1214.  
  1215. #define F_READ_ONLY   1
  1216. #define F_HIDDEN      2
  1217. #define F_SYSTEM      4
  1218. #define F_VOLUME      8
  1219. #define F_DIRECTORY   16
  1220. #define F_ARCHIVE     32
  1221.  
  1222. /* DOS 2.0 File Open Mode */
  1223.  
  1224. #define DOS2_READ       0           /* Access Rights */
  1225. #define DOS2_WRITE      1
  1226. #define DOS2_RW         2
  1227.  
  1228. /* DOS 3.0 File Open Mode */
  1229.  
  1230. #define DOS3_INHERIT    0           /* Inheritance Flag */
  1231. #define DOS3_PRIVATE    0x80
  1232.  
  1233. #define DOS3_COMP       0           /* Sharing Mode */
  1234. #define DOS3_DENY_RW    0x10
  1235. #define DOS3_DENY_W     0x20
  1236. #define DOS3_DENY_R     0x30
  1237. #define DOS3_DENY_NONE  0x40
  1238.  
  1239. #define DOS3_READ       0           /* Access Rights */
  1240. #define DOS3_WRITE      1
  1241. #define DOS3_RW         2
  1242.  
  1243. /* DrawLine */
  1244.  
  1245. #define DL_HORIZONTAL 0
  1246. #define DL_VERTICAL   1
  1247.  
  1248. /* InitMouse */
  1249.  
  1250. #define IM_NO_SHOW 0
  1251. #define IM_SHOW    1
  1252.  
  1253. /* Window macros */
  1254.  
  1255. #define W_BUF_SIZE(ur,lc,lr,rc) (((((rc) - (lc)) + 1) * 2) * (((lr) - (ur)) + 1))
  1256. #define W_SAVECLEAR   0
  1257. #define W_SAVEONLY    -2
  1258.  
  1259.  
  1260. /* FileBox buffer size */
  1261.  
  1262. #define FB_BUF_SIZE 160
  1263.  
  1264.  
  1265. /* Cls */
  1266.  
  1267. #define CLS_ALL 0,0,24,79
  1268.  
  1269.  
  1270. /* YesNo */
  1271.  
  1272. #define YN_YES         1
  1273. #define YN_NO          0
  1274. #define YN_YESDEFAULT  1
  1275. #define YN_NODEFAULT   2
  1276.  
  1277. /* GetCharSetAddress */
  1278.  
  1279. #define GCA_8X8A       3
  1280. #define GCA_8X8B       4
  1281. #define GCA_8X14       2
  1282. #define GCA_8X16       6
  1283.  
  1284.